package leecode

func longestOnes(nums []int, k int) int {
	left := 0      //窗口最左边的位置
	maxWindow := 0 //窗口最大值
	zero := 0      //窗口0的个数
	for right := 0; right < len(nums); right++ {
		if nums[right] == 0 {
			zero++
		}
		//如果0的个数大于k , 缩小窗口
		for zero > k {
			if nums[left] == 0 {
				zero--
			}
			left++
		}
		//求出窗口最大值
		maxWindow = max(maxWindow, right-left+1)
	}
	return maxWindow
}
